PFI reader

ABSTRACT

A PFI reader.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation in part of U.S. Patent Application having Navy Case number 100218.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

The invention described herein may be manufactured and used by or for the government of the United States of America for governmental purposes without the payment of any royalties thereon or therefor.

FIELD OF THE INVENTION

The invention generally relates to a computer readable medium encoded with computer readable instructions for reading an image.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a general overview of a Precision Fires Image generation process.

FIGS. 2A-B illustrate a block diagram of an embodiment of a PFI reader.

It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not to be viewed as being restrictive of the invention, as claimed. Further advantages of this invention will be apparent after a review of the following detailed description of the disclosed embodiments, which are illustrated schematically in the accompanying drawings and in the appended claims.

DETAILED DESCRIPTION

Embodiments may be implemented as an apparatus or article of manufacture using programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term computer-readable medium (devices, carriers, or media), includes, but is not limited to, a magnetic storage media, “floppy disk”, CD-ROM, RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, a File server providing access to the programs via a network transmission line, holographic unit, etc. Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the present invention.

Embodiments of the invention include a computer readable medium encoded with a data structure. The data structure includes an image File format including a PFI File Header that defines information needed to display a Precision Fires Image (PFI). The PFI is an overhead satellite image of an object with a geo-referenced, three dimensional (3-D) template of the object. The geo-referenced three dimensional (3-D) template provides a translation from image coordinates to ground coordinates. The image File format further includes an image segment pertaining to a “displayable image”, and an image segment pertaining to a “non-displayable” template image.

A Precision Fires Image (PFI) is an image from which a user may designate a point that is converted to a precision targeting coordinate. The PFI is a working National Imagery Transmission Format (NITF) Version 2.1 File extension that incorporates the Digital Point Positioning Data Base (DPPDB) structure as the basis for development. The PH provides a user with the ability to precisely designate items of interest within their field of view and area of influence by simply positioning a single marker, a cursor, on the desired item, a target. Precision targeting coordinates reduce non-combatant casualties, increase combatant casualties, reduce collateral damage, use munitions effectively and lower delivery costs while providing immediate detailed information regarding local terrain.

A PFI electronic File (“PFI File”) is generated using a National Imagery Transmission Format (NITF) File that consists of a single overhead satellite image, also known as a surveillance image, and a geo-referenced, three dimensional (3-D) template derived from a stereo referenced image (also referred to as “non-displayable” image). Several types of stereo referenced imagery are available and they include, the Digital Point Positioning Database (DPPDB), the Controlled Image Base (DB), Digital Terrain Elevation Data (DTED) and vector maps including VMAP or its commercial equivalents. Regardless of the type of stereo reference imagery used, the user is then forced to select one of two processing paths.

One path uses the stereo referenced image and a surveillance image provided from either a surveillance satellite or aircraft and invokes portions of the Digital Precision Strike Suite—Scene Matching (DPSS-SM) processing. DPSS-SM is an example of a path when the stereo referenced imagery and a surveillance image are both available. This is due to the timeliness and relevancy of the information included within the tactical image since a current satellite image or other current tactical image may present road movable targets.

A second path is selected in the absence of a surveillance image. The PFI software application is used to generate a PFI directly from the stereo referenced imagery when only the stereo referenced imagery is available. Regardless of the image source used to generate the PFI, the PFI enabled hand held is then used to accept a point designation from the user that is converted to a precision targeting coordinate and passed to the guided munitions.

During PFI File generation, the three dimensional (3-D) template and the stereo-referenced image are correlated, geo-registering a visible image with World Geodetic System 1984 (WGS-84) coordinate data, creating a single image File. To obtain the WGS-84 coordinates with height and elevation errors, an operator can perform a “single click” on the image. The PFI creation process occurs when the DPPDB stereo reference imagery pair is loaded into a PFI generating application. The user defines a region of interest by selecting a section from the left and right reference pair as the framework for an overlying three dimensional (3-D) template. One of the image pairs or a single tactical NITF image is used as the base image of the overall PFI File. Finally, the three dimensional (3-D) template and base image are correlated using an offset scheme to map the image pixel positions; and the final PFI product is created. Each stereo reference image undergoes extensive edge extraction, using edge extraction algorithm (in this case we used the Sobel algorithm). Once the imagery has completed edge erosion, it undergoes the correlation process where pixels are matched and template geographic locations are implemented.

A PFI is intended to be used on systems that lack the resources to run either the Precision Strike Suite for Special Operations (PSS-SOF) or Digital Precision Strike Suite—Scene Matching (DPSS-SM) applications. A typical File size nominally covers an area of 4×4 kilometers, allowing the image to be transmitted and viewed on low capacity computing devices with minimal storage and bandwidth constraints. Because of its size, multiple PFI image sets can be deployed at a given time, per area of focus. PFIs deployed on handheld devices also provide a platform for imagery and targeting capabilities that are beneficial to lower level echelon mission requirements.

The Digital Precision Strike Suite—Scene Matching (DPSS-SM) or Precision Fires Image Generator (PFIG) applications can be used to create an individual PFI product. DPSS-SM is the preferred source when overhead satellite imagery is directly available, due to the timeliness and relevancy of this data; PFIG, however, can be used to generate a PFI directly from the reference imagery if overhead imagery is not available. Both applications use an NGA validated algorithm to extract data from DPPDB stereo reference imagery in order to generate individual PFI Files.

An individual PFI is chipped from the DPPDB sizing up to 4096×4096 pixels. Support data, including latitude, longitude, elevation, CE, and LE, are implemented into the PFI structure and are essential in target designation and accuracy. PFIG performs PFI generation solely using DPPDB imagery for the correlation of a three dimensional (3-D) template and a single NITF image as the base for image pixilation. The DPSS-SM application uses the same correlation process but includes the use of up-to-date tactical imagery in the correlation process.

PFI supporting applications provide users with the capability to perform parallel operations in image exploitation and management. On a desktop platform, operators are expected to generate PFI images (using PFIG and DPSS-SM applications), and perform image categorization and File maintenance to include the exploitation of imagery. Operators then establish handheld synchronization for PFI management (using the Handheld Sync application), deploy Files onto handheld PFI viewing applications, and perform minimal exploitation and coordinate generation (while in a dismounted state).

In some embodiments, PFI Files are stored as raw uncompressed images. In other embodiments, PFI Files are stored using Joint Photographic Experts Group (JPEG) or JPEG 2000 compression; implementations of binary values, however, are not compressed within the PFI File structure.

The PFI File structure and content conforms to the NITFS, NITF Version 2.1 format specification in order to maintain interoperability between systems and differing agencies.

In some embodiments, compression, including, for example JPEG and JPEG 2000, and Gridded Reference Graphic (GRG) Text enhancements are included to allow for better compression, easier transmission, and more capability. Compression will be specified in the Image Header “IC” field.

Some embodiments of the invention include a scale integer in the “Image Segment Template” (4 in FIG. 1) of the PFI Header. The addition of the scale integer improves template error calculation and enhances the image template's scalability when stretched over the underlying image segment. FIG. 1 identifies both image segments.

The PFI File format configuration consists of multiple correlated Files. This configuration correlates a single “displayable” image segment with a “non-displayable” image segment. The “non-displayable” image segment includes correlated DPPDB stereo reference data and extended binary data allocated for PFI implementation.

The “displayable” image is the base image segment that conforms to the NITF 2.1 standard File Header structure; it is the underlying image that provides visible geographic features. The displayable image can also be stored as raw uncompressed pixel values or JPEG compressed.

The “non-displayable” template image will perform as the non-destructive overlay to the “displayable” image, with offsets to the X and Y values on the coordinate plane. The following syntax identifies the data structure for the “non-displayable” template within the PFI File Header:

struct. PFIData

{

Smallint row;

Smallint col;

float TemplateX;

float TemplateY;

float TemplateZ;

float TemplateDir;

};

struct PFIHeader

{

float Version;

bool IsSAR;

float CEP;

float CEM;

float CE90;

float LEP;

float LEM;

float LE90;

float SigmaX2;

float SigmaY2;

float SigmaXY;

double AimpointX;

double AimpointY;

double AimpointZ;

int scale; <--PFI 3.0 Version Implementation-->

};

The PFI structure implements a Tagged Record Extension (“TRE”) segment. This segment supports coordinate accuracy of the geo-location output for the four corner points. The TRE segment implementation will improve accuracy approximately one tenths of the standard NITF coordinate output. The TRE extension adheres to the standard TRE outlined in the “The Compendium of Controlled Extensions for the NITF 2.1.

GRGs—a product with an overprinted grid that may be either a non rectified image with a common reference grid or a rectified image with a precise metric grid—and text labels are user-defined labels implemented in the PFI File during PFI creation using the PFI Generator software application. GRG and text labels designate specified X and Y pixels on a PFI image.

The number of template point values is computed by subtracting the “Number of Columns” from the “Size of the PFI Header” divided by the “Size of the PFI Data.” Number of Template Points=(Number of Columns)−(Size of PFI Header/Size of PFI Data)

The PFI binary code was developed using an Intel/AMD X86 processor on a Windows operating system. For development purposes, PFI byte ordering uses the “little endian” sequencing of data, which is determined at the machine processing level. For interoperability on systems other than the Windows platform (i.e., Macintosh/Sun Systems), the sequence of data must be parsed in the reverse order.

In order to maintain the integrity of PFI functionality on target based systems, the mathematical model and error terms will not be included in this document. As a result, a Dynamic Link Library (DLL) is available in order to provide third party applications with the capability to read PFI embedded information. DLL implementation is available for Windows operating systems and includes the code, data, and resources required for executing PFI generation.

Table A-1 identifies PFI File Headers. The table identifies PFI File Headers using a field ID, name (and associated information/function), size, and value range; however, the field ID, name, size and value range can vary without departing from the invention.

TABLE A-1 PFI File Header (Binary) TYPE R = Required C = Conditional FIELD ID NAME SIZE VALUE RANGE O = Optional FHDR File ProFile Name: A binary 9 NITF R coded character string indicating the NITF standard. FVER File Version: Indicates this File 5 02.10 R is formatted using version 2.1 of the NITF. CLEVEL Complexity Level: This field 2 Follow NITF R includes a complexity level of 3 default values or 5 based on the range value. STYPE Standard Type: Standard type or 4 BF01 R capability. OSTAID Originating Station ID: This 10 PFIG - Version R field indicates the originating Number organization. The value or indicates versions of the PFIG/ DPSS-SM - DPSS-SM applications of which the Version Number image was created. FDT File Date & Time: This field 14 YYYYMMDDHHMMSS R specifies the date the File was created. FTITLE PFI ID: This field specifies the 80 Value R image as a PFI and also indicate indicates PFI the originating PFI generating — application, image corner points, D or T for and image date. originating The initial value is “D” if the source of File was created with PFIG production. software. The initial value is Corner Point “T” if File was created with Values: DPSS-SM. The PFI ID also Follow NITF includes the 4 corner point default values values, the image date, and rough Image Date: estimate of the coordinate YYYYMMDD quality using a letter character The following (see the example below). single EX: <PFI-D:354136N1174037W character 354102N1174047W354110N values 1174128W354145N1174118W:20010322> indicating : G coordinate accuracy: G = green (good accuracy) Y = yellow (ok accuracy) O = orange (low accuracy) R = red (no accuracy) FSCLAS File Security Classification: 1 Follow NITF R This field includes a value based default values on the classification of the underlying support data. FSCLSY File Security Classification 2 Follow NITF O System: This field indicates the default values national or multinational security system used to classify the File. FSCODE File Codewords: This field 11 Follows NITF O indicates that no security default values compartments are associated with the File. FSCTLH File Control and Handling: This 2 Follows NITF O field includes security handling default values instructions in accordance with the File. FSREL File Releasing Instructions: 20 Follows NITF R This field indicates the default values countries or groups to which the Files are authorized. FSDCTP File Declass Type: This field 2 Follows NITF O includes an identifying code for default values the classification authority. FSDCDT File Declass Date: This field 8 Follows NITF O indicates the declassifying date. default values FSDCXM File Declass Exemption: This 4 Follows NITF O field indicates reasons for default values automatic File declassification exemption. FSDG File Downgrade: This field 1 Follows NITF O indicates the File classification default values for downgrade. FSDGDT File Downgrade Date: This field 8 Follows NITF O indicates the date of File default values classification downgrade. FSCPYS File Number of Copies: This 5 00000 O field indicates the number of copies of the File. FSCLTX File Class Text: This field 43 Follows NITF O provides additional File default values classifying information. FSCATP File Class Author Type: This 1 Follows NITF O field indicates the type of default values classifying authority. FSCAUT File Class Author: This field 40 Follows NITF O indentifies the classifying default values authority. FSCRSN File Class Reason: This field 1 Follows NITF O indicates the reason for File default values classification. FSSRDT File Security SRC Date: This 8 Follows NITF O field indicates the date of the default values source used to derive classification. FSCTLN File Control Number: This field 15 Follows NITF O includes the File's valid default values security control number. FSCOP File Copy Number: This field 5 00000 R includes the File copy number. FSCPYS File Number of Copies: This 5 00000 R field includes the total number of File copies. ENCRYP Encryption: This field includes 1 0 R the value zero. FBKGC File Background Color: This 3 Follows NITF R field includes the colors Red, default values Green, & Blue. ONAME Originator's Name: This field 24 Customizable O identifies the organization that as a PFIG originated the File. option OPHONE Originator's Phone Number: This 18 Follows NITF O field includes a valid phone default values number of the originating operator. FL File Length: This field 12 388 - R specifies the entire PFI File in 999999999999 bytes. HL NITF File Header Length: This 6 Follows NITF R field specifies the length of the default values Header File in bytes. NUMI Number of Images: This field 3 002 R specifies a zero to indicate that there is no image present within the File. LISHn Length of SubHeader 0: This 6 Follows NITF C field includes the image default values subHeader length in bytes. LIn Length of Image 0: This field 10 Follows NITF C includes image length in bytes. default values LISH001 Length of SubHeader 1: This 6 Follows NITF C field includes the first ordered default values image subHeader segment in bytes. LI001 Length of Image 1: This field 10 Follows NITF C includes the first ordered image default values length in bytes. LSn Number of Graphics: This field 6 Follows NITF C includes the bytes for the nth default values graphic subHeader. NUMX Reserved for future use:This 3 000 R field is reserved for future use. NUMT Number of Text Files: This field 3 000 or 1 if R includes the number of separate GRG is present text segments within the File. LTSHn Length of Text SubHeader 0: This 4 Follows NITF C field includes a valid length for default values the text subHeader in bytes. LTn Length of Text File: This field 5 Follows NITF C includes the valid length of the default values text segment in bytes. NUMDES Number of DES: This field 3 000 R includes the number of separate Data Extension Segments included in the File. NUMRES Number of RES: This field 3 000 R includes the number of separate Reserve Extension Segments in File. UDHDL User-Defined Length: This field 5 00000 R includes the value of BCS zeros if no TREs are included in the user defined Header. XHDLOFL Extended Header Data Overflow: 5 00000 C This field includes BCS zeros if the TREs in the extended Header do not flow into the data extension segment.

PFI Image Header. FIG. 1 identifies two Image segments, 2, 4, and associated Image Headers in the PFI Header File. PFI Image Header 0 (initial Header File indicated by the value “0” in the table/code) 6 specifies the Image Header with the “displayable” image data included within. The secondary PFI Image Header (Header indicated by the value “1” in the table/code) 8 specifies the Image Header with the “non-displayable” image data included within. Table A-2 indicates all fields included within both Image Headers; however, the field ID, name, size and value range can vary without departing from the invention. A ‘B’ in the Type column identifies information where data will change according to each individual PFI Header File.

TABLE A-2 PFI Image Headers (2) TYPE R = Required C = Conditional FIELD ID NAME SIZE VALUE RANGE O = Optional IM File Part Type: This 2 IM R field includes the characters “IM” to identify the subHeader as an image subHeader. IID Image Identifier 1: This 10 Image Header 0 R field includes the image includes: PFI B ID included within the Image File. It will identify Image Header 1 the data as PFI Image or includes: PFI PFI Data. Data IDATIM Image Date and Time: This 14 YYYYMMDDHHMMSS R field includes the date B and time of the original image. Values start with the four digit year, two digit month, two digit days, hours, minutes, and seconds. TGTID Target Identifier: This 17 Follows NITF O field includes the default values identification of the primary target in the format. IID2 Image Identifier 2: This 10 File Format O field includes a second Version B image identifier. ISCLAS Image Security Class: 1 Follows NITF R This field includes a default values classification level based on the originating imagery. ISCLSY Image Security Class 2 Follows NITF R System: This field default values indicates the national or multinational security system that classified the image. ISCODE Image Codewords: This 40 Follows NITF O field identifies the default values security compartments associated with the image. ISCTLH Image Control: This field 2 Follows NITF O includes additional default values security control and/or handling instructions for the image. ISREL Image Release 20 Follows NITF R Instructions: This field default values includes a list of countries where release of imagery is authorized. ISDCTP Image Declass Type: This 2 Follows NITF O field indicates the default values security declassification type or downgrading instructions for the image. ISDCDT Image Declass Date: This 8 Follows NITF O field indicates a date to default values which the image will be or has been declassified. ISDCXM Image Declass Exemption: 4 Follows NITF O This field indicates a default values reason for the image's automatic exemption from declassification. ISDG Image Downgrade: This 1 Follows NITF O field indicates the default values classification level to which the image will be downgraded. ISDGDT Image Downgrade Date: 8 Follows NITF O This field indicates the default values date on which the image is to be downgraded. ISCLTX Image Class Text: This 43 Follows NITF O field is used to provide default values additional information about the image classification. ISCATP Image Class Author Type: 1 Follows NITF O This field indicates the default values type of authority used to classify the image. ISCAUT Image Class Authority: 40 Follows NITF O This field identifies the default values classification authority and is dependent on the classification authority type. ISCRSN Image Class Reason: This 1 Follows NITF O field includes values default values indicating the reason for image classification. ISSRDT Image Security SRC Date: 8 Follows NITF O This field indicates the default values date of the source used for classification of the image. ISCTLN Image Control Number: 15 Follows NITF O This field includes an default values image control number associated with the image. ENCRYP Encryption: This field 1 Follows NITF O includes the value BCS default values zero according to NITF specifications. ISORCE Image Source: This field 42 Originating R includes the PFI source, B originating source either: (PFIG/DPSS-SM). If the PFIG: D #- image originates from Segment ID- PFIG, this field should Left Offset include the DPPDB X,Y-Right (indicated by D) number Offset X,Y segment and left and right or offset X, Y values. If DPSS-SM- the image originates from Tactical Image DPSS-SM, it includes the Name Tactical Image name. PFIG source example: D01022496-0703-9003-24785- 9003-24785 DPSS-SM source example: Baghdad.ntf NROWS Number of Rows: This 8 Image Header 0 R field includes the total indicates B number of rows of values: 0- significant pixels within 00001024; the image. 0-00002048; The number of rows of 0-00004096 significant pixel values Image Header 1 will be determined by the indicates Image Header type. Image value: Header 0 includes the 00000001 displayable image. Image Header 1 includes a non- displayable image. These values are specified in the value range. NCOLS Number of Columns: This 8 Image Header R field includes the total indicates B number of columns of values: significant pixels within 0-00001024; the image. These values 0-00002048; are encoded in the binary 0-00004096 format. Image Header 1 indicates values based on length of binary data PVTYPE Pixel Value Type: This 3 Follows NITF R field indicates the default computer representation values. type used for each pixel for each band. IREP Image Representation: 8 Image Header 0 R This field indicates the (displayable B required processing for image) the image display. Image indicates: Header 0 includes the NITF default displayable image. Image values. Header 1 includes a non- Image Header 1 displayable image. Image (non- identifiers are specified displayable in the value range. image) will indicate: NODISPLY ICAT Image Category: This 8 Follows NITF R field indicates the image default values category. ABPP Actual bits-per-pixel: 2 08 R This field indicates the number of “significant bits” in each band of each pixel without compression. PJUST Pixel Justification: This 1 L (left R field indicates whether justification) significant bits are left or right justified. This is dependent on whether the ABPP is not equal to NBPP. ICORDS Image Coordinate 1 G R Representation: This (geolocation) field indicates the type of coordinate representation. IGEOLO Image Geographic Location: 60 Follows NITF C This field includes the default values four corner points of the PFI image. NICOM Number of Comments: This 1 Follows NITF R field includes the number default values of ICOM fields that hold free text image comments. IC Image Compression: This 2 NC (no R field indicates the form compression) B of compression used in or representing the image C3 (JPEG data. It also specifies compression) if a PFI File is JPEG compressed or not. COMRAT Compression Rate Code: 4 Follows NITF O This field shall be default values present on condition that and depends the IC field includes on IC value appropriate codes. This field indicates the compression rate for the image. NBANDS Number of Bands: This 1 Follows NITF R field includes the number default values of data bands within the image. XBANDS Multi-spectral bands: 5 Follows NITF C This field is dependent on default values NBANDS value. IREPBAND Band Representation 0: 2 Follows NITF R This field indicates the default values processing required to display the band with regards to the image type in the IREP value. ISUBCAT Band Subcategory: This 6 Follows NITF O field indicates the default values significance of the “n” bands with regard to the ICAT field. IFC Filter Condition: This 1 Follows NITF R field includes the value N default values to represent none. IMFLT Filter Code: This field 3 Follows NITF O is reserved for future default values use. NLUTS Number of LUTS for the nth 1 Follows NITF R Image Band: This field default values indicate the number of LUTS associated with the “nth” band of the image. ISYNC Image Sync Code: This 1 Follows NITF R field is reserved for default values future use. IMODE Image Mode: This field 1 B (band R indicates how image pixels interleaved by are stored in the NITF block) File. NBPR Blocks per Row: This 4 Follows NITF R field includes the number default values of image blocks in a row of blocks in the horizontal direction. NBPC Blocks per Column: This 4 Follows NITF R field includes the number default values of image blocks in a column Of blocks in the vertical direction. NPPBH Pixels per Block (H): 4 Follows NITF R This field includes the default values number of pixels horizontally in each block of the image. NPPBV Pixels per Block (V): 4 Follows NITF R This field includes the default values number of pixels vertically in each block of the image. NBPP Bits per Pixel: This 2 08 R field is dependent on the IC field. IDLVL Image display Level: This 3 Follows NITF R field indicates the default values display level relative to other displayed File components in a composite display. IALVL Attachment Level: This 3 Follows NITF R field indicates the default values attachment level of the image. ILOC Image Location: This is 10 Follows NITF R the location of the first default values pixel of the first line of the image. It includes the image location offset from ILOC/SLOC value of the segment that the image is attached to or from the origin of the CCS when the image is unattached. IMAG Image Magnification: This 4 Follows NITF R field includes the default values B template magnification level. This applies to Image Header 1, which is indicated as the template. UDIDL User Defined Length: This 5 00000 R field is dependent on whether the TREs exist: otherwise, BCS zeros will denote that there are no TREs. IXSHDL Extended SubHeader Length: 5 00123 R This field includes the B TRE indicated as Block A. See Table A-4 for segment specifications.

Text File Header information. The Text Header specifies Gridded Reference

Graphics (GRG) labels for buildings and intersections. In some embodiments, numerical values indicate buildings and alphabetical values indicate intersections. However, in other embodiments, alphabetical values indicate buildings and numerical values indicate intersections. Table A-3 specifies Text File Header fields used in an embodiment of the invention that includes Text File Header Information. The table identifies Text File Headers using a field ID, name (and associated information/function), size, and value range; however, the field ID, name, size and value range can vary without departing from the invention.

Buildings: Numeric values are positioned on an X Pixel and Y Pixel and is divided into categories of “macro” and “micro” labels. A “macro” label is the beginning number to a series of “micro” numbers. In Table A-3, for example, numbers 10 and 20 start off the series to number sets 11-15 and 21-25. These number sets are defined as the “micro” labels. The number of “micro” labels assigned depends on mission requirements. Table A-3 provides an example of the GRG labeling system in order to identify the hierarchy of GRG text labels.

Intersections: Alphabetical values have been added to the “Text File Data 0” field to mark intersections or other physical features on the image.

TABLE A-3 Text File Header TYPE R = Required C = Conditional FIELD ID NAME SIZE VALUE RANGE O = Optional TE File Part Type: This field 2 TE R includes TE to identify the subHeader as a “text subHeader.” TEXTID Text Identifier: This field 3 GRG R includes identification code GRG for Gridded Reference Graphics. This is associated with the text item. TXTDT Text Date and Time: This field 14 YYYYMMDDhhmmss R includes the time of origination of the text. TXTTITL Text Title: This field includes 80 Follow NITF O the text title. default values TSCLAS Text Security Classification: 1 S R This field includes the value “S” for a Secret classification to indicate the GRG is secret. TSCLSY Text Security Classification 2 Follow NITF O System: This field indicates the default national or multinational values security system that classified the text. TSCODE Text Codewords: This field 11 Follow NITF O indicates the security default compartments associated with the values text. TSCTLH Text Control and Handling: This 2 Follow NITF O field includes additional default security control and/or handling values instructions. TSREL Text Releasing Instructions: 2 Follows NITF R This field includes the default classification releasability code values of the image. TSDCTP Text Declassification Type: This 2 Follow NITF O field indicates the type of default security declassification or values downgrading instructions. TSDCDT Text Declassification Date: This 8 Follow NITF O field indicates the date on which default the text is or has been values declassified. TSDCXM Text Declassification Exemption: 4 Follow NITF O This field indicates the reason default the text is exempt from automatic values declassification. TSDG Text Downgrade: This field 1 Follow NITF O indicates the classification default level to which a text is to be values downgraded. TSDGDT Text Downgrade Date: This field 8 Follow NITF O indicates the date on which the default text is to be downgraded. values TSCLTX Text Classification Text: This 43 Follow NITF field indicates additional default information about text values classification TSCATP Text. Classification Authority 1 Follow NITF O Type: This field indicates the default type of authority used to values classify the text. TSCAUT Text Class Authority: This field 40 Follow NITF O identifies the classification default authority and is dependent on the values TSCATP. TSCRSN Text Classification Reason: This 1 Follow NITF O field indicates the reason for default classifying the text values TSSRDT Text Security Source Date: This 8 Follow NITF O field indicates the source date default used to derive text values classification. TSCTLN Text Security Control Number: 15 Follow NITF O This field includes a control default number associated with text. values ENCRYP Encryption: This field includes 1 0 R BCS zero until specified by NGA. TXTFMT Text Format: This field 3 STA R indicates the format or type of text data. TXSHDL Text Extended SubHeader Data 5 00000 R Length: This field represents that there are no TREs included in the text subHeader.

Some embodiments include a tagged record extension (“TRE”) segment that supports coordinate accuracy of a geo-location output for the four corner points of the PFI. Table A-4 provides a table of Header fields for embodiments including a controlled TRE including additional geo-location identifiers intended to improve accuracy in coordinate output. The table identifies Text File Headers using a field ID, name (and associated information/function), size, and value range; however, the field ID, name, size and value range can vary without departing from the invention. The TRE is located in Image Header 0 and includes data associated with the Image Geographic Location (IGEOLO). The TRE provides enhanced precision accuracy of the four corner points.

TABLE A-4 Block A TRE Value Field Name Size Range Type EXTENSION ID Extension ID: This 6 BLOCKA R field includes the unique extension identifier “Block A” for TRE segment identification. TAGGED Tagged Record Length: 5 00123 R RECORD This field indicates the LENGTH length of the TRE. BLOCK_IN- Block Instance: Block 5 00002 R STANCE number of the image block. N_GRAY Gray Fill Pixels: This 5 00005 R field indicates the number of gray fill pixels. L_LINES Line Count: This field 5 00005 R indicates number of rows. LAY- Layover Angle: In 5 00003 R OVER_ANGLE regards to SAR Imagery, this field indicates the angle between the first row of pixels and the layover direction in a clockwise direction. SHA- Shadow Angle: In 5 00003 R DOW_ANGLE regards to SAR imagery, this field indicates the angle between the first row of pixels and the layover direction measured in a clockwise direction. FIELD6 Reserved 1: This field 5 00016 R indicates this Data Mapping ID is reserved and not for present use. FRLC_LOC First Row/Last Column: 5 00021 R This field indicates the location of the first row and last column of the image block. LRLC_LOC Last Row/Last Column: 5 00021 R This field indicates the location of the last row and last column of the image block. LRFC_LOC Last Row/First Column: 5 00021 R This field indicates the last row and first column of the image block. FRFC_LOC First Row/First Column: 5 00021 R This field indicates the first row and first column of the image block. FIELD11 Reserved 2: This field 5 00005 R indicates this Data Mapping ID is reserved and not for present use.

Embodiments of a PFI Reader

Embodiments of a PFI Reader apparatus is/are described with reference to the block diagram 10 in FIG. 2. A function request by a host application is received and identified by an electronic processor. Computer readable instructions stored on a computer readable medium are accessed and performed by and electronic processor causing the electronic processor to perform a process involving a variable related to the process. Embodiments of the invention include any single, or multiple (in any combination), of the described instructions and process corresponding to a function request described below.

One function request by a host application that is received and identified by the electronic processor in some embodiments of the invention is a request to open a File 2. Once received and identified by the electronic processor, the computer readable instructions stored on the electronic processor performs the process identified in FIG. 2 within block 4. The computer readable instructions (in this case ‘File opening computer readable instructions’) cause the electronic processor to access the File Header associated with the File requested to be opened, open it, store the File Header data/information in non-volatile memory, process the data/information in the File Header associated with the File requested to be opened 6, and determine whether the File Header associated with the File requested to be opened is valid 8 (Tile Header reading instructions'); the File Header is determined to be invalid when the accessed File Header(s) does not conform to the PFI File format specification. When the File Header is not valid, the computer readable instructions cause the electronic processor to indicate an error code 12. When the File Header is valid, the computer readable instructions cause the electronic processor to access the Image Header associated with “displayable” image associated with the File requested to be opened, open the Image Header associated with “displayable” image associated with the File requested to be opened, store the Image Header (associated with “displayable” image associated with the File requested to be opened) data/information in non-volatile memory, process the data/information in the Image Header associated with the “displayable” image associated with the File requested to be opened 14, and determine whether the Image Header associated with “displayable” image associated with the File requested to be opened is valid 16 (Image Header reading instructions'); the Image Header is determined to be invalid when the accessed Image Header does not conform to the PFI image File format specification. When the Image Header is not valid, the computer readable instructions cause the electronic processor to indicate an error code 18. When the Image Header is valid, the computer readable instructions cause the electronic processor to access the 3-D Template Header associated with the “non-displayable” image associated with the File requested to be opened, open the 3-D Template Header associated with the “non-displayable” image associated with the File requested to be opened, store the 3-D Template Header data/information in non-volatile memory, process the data/information in the Image Header associated with the “non-displayable” image associated with the File requested to be opened 20, and determine whether the 3-D Template Header is valid 22 (‘3-D Template Header reading instructions’); the 3-D Template Header is determined to be invalid when the accessed Image Header does not conform to the PFI image File format specification. When the Image Header is not valid, the computer readable instructions cause the electronic processor to indicate an error code 24. When the 3-D Template Header associated with the “non-displayable” image associated with the File requested to be opened is valid, the computer readable instructions cause the electronic processor to indicate that no error has occurred.

Another function request by a host application that is received and identified by the electronic processor in some embodiments of the invention is a request for Image Corners 26. Once received and identified by the electronic processor, the computer readable instructions (in this case ‘image corner computer readable instructions’) stored on the electronic processor cause the electronic processor to access and process a saved “displayable” Image Header including four geographical corner points of the “displayable” image 28, with the corner points being defined (when defined properly) by a location identified by latitude and longitude coordinates. The computer readable instructions cause the electronic processor to read the corners 28 and determine whether the corners are valid. The computer readable instructions cause the electronic processor to return the read corners and indicate an error code when the corners are not defined using a pre-determined system of location identification 30.

Another function request by a host application that is received and identified by the electronic processor in some embodiments of the invention is a request for Image Security 32. Once received and identified by the electronic processor, the computer readable instructions (in this case ‘security status computer readable instructions’) stored on the electronic processor cause the electronic processor to access a saved File Header and displayable Image Header including the security classification of the “displayable” image 34. The computer readable instructions cause the electronic processor to determine whether the read Security classification is valid. The computer readable instructions cause the electronic processor to return Image Security strings and return an error code when the read security classification is not defined using a pre-determined system of security classification 36.

A further function request by a host application that is received and identified by the electronic processor in some embodiments of the invention is a request for Image Data 38. Once received and identified by the electronic processor, the computer readable instructions (in this case ‘displayable image computer readable instructions’) stored on the electronic processor cause the electronic processor to access and process at least one image block within the “displayable” image and, when requested by a user, reconstruct an image including a plurality of image blocks included in the “displayable” image 40. The computer readable instructions cause the electronic processor to return image data, image dimensions, and an error code when the “displayable” image File is corrupted 42.

A further function request by a host application that is received and identified by the electronic processor in some embodiments of the invention is a request for the 3-D Template (“non-displayable” image) data and error code 44. Once received and identified by the electronic processor, the computer readable instructions (in this case ‘3-D Template computer readable instructions’) stored on the electronic processor cause the electronic processor to read the 3-D template image by accessing and processing the non-displayable (3-D template) image Headers and information therein 46. The computer readable instructions cause the electronic processor to return an error code when the 3-D template image File is corrupted 50.

Another function request by a host application that is received and identified by the electronic processor in some embodiments of the invention is a request for coordinate(s) 52. Once received and identified by the electronic processor, the computer readable instructions (in this case ‘coordinate computer readable instructions’) stored on the electronic processor cause the electronic processor to read the 3-D template data and location by accessing and processing the non-displayable image Headers and the information included therein 54, finding the template point(s) closest to the image pixel for which a coordinate is requested 56, and interpolating the template points to compute a “displayable” image coordinate with latitude, longitude, and elevation 58. The computer readable instructions cause the electronic processor to return the “displayable” image coordinates 60. The computer readable instructions cause the electronic processor to calculate and output an estimated accuracy of the outputted coordinate 62. The computer readable instructions also cause the electronic processor to output an error code when a “displayable” image coordinate cannot be generated; the error code will correspond to at least one error code in a set of error codes that describe why the “displayable” image coordinate could not be generated 64.

While the invention has been described, disclosed, illustrated and shown in various terms of certain embodiments or modifications which it has presumed in practice, the scope of the invention is not intended to be, nor should it be deemed to be, limited thereby and such other modifications or embodiments as may be suggested by the teachings herein are particularly reserved especially as they fall within the breadth and scope of the claims here appended. 

What is claimed is:
 1. A non-transitory computer readable medium encoded with computer readable instructions, comprising: file opening computer readable instructions to cause an electronic processor to open a Precision Fires Image (PFI) File; image corner computer readable instructions to cause said electronic processor to return image corners of a displayable image associated with said PFI File; security status computer readable instructions to cause said electronic processor to return the security status of said displayable image; displayable image computer readable instructions to cause said electronic processor to return displayable image data; 3-D template data computer readable instructions to cause said electronic processor to return 3-D template data describing a 3-D template image associated with said PFI File; coordinate computer readable instructions to cause said electronic processor to return a coordinate of a point on said displayable image: wherein said displayable image data comprises displayable image dimensions; wherein said File opening computer readable instructions comprises: file header reading instructions, said file header reading instructions causing said electronic processor to access a PFI File Header associated with said PFI File requested to be opened, open said PFI File Header, store said PFI File Header data and information included within said opened PFI File Header in non-volatile memory, process said PFI File Header data and information included within said PFI File Header associated with said PFI File requested to be opened; Image Header reading instructions, said Image Header reading instructions causing said electronic processor to access a plurality of displayable Image Headers associated with the PFI File requested to be opened, open said plurality of displayable Image Headers, store displayable Image Header data and information included within said opened plurality of displayable Image Headers in the non-volatile memory, and process said displayable Image Header data/information; and 3-D Template Header reading instructions, said 3-D template Header reading instructions causing said electronic processor to access a plurality of 3-D template Headers associated with the PFI File requested to opened, open said plurality of 3-D Template Headers, store 3-D Template Header data and information included within said opened plurality of 3-D Template Headers in the non-volatile memory, and process said 3-D template Header data and information.
 2. The non-transitory computer readable medium of claim 1 wherein said image corner computer readable instructions comprise: computer readable instructions to cause said electronic processor to access and process a saved displayable Image Header including four geographical corner points of the displayable image with the corner points being defined by a location identified by latitude and longitude coordinates.
 3. The non-transitory computer readable medium of claim 2 wherein said security status computer readable instructions comprise computer readable instructions to cause said electronic processor to access a saved PFI File Header and displayable Image Header including a security classification of said displayable image.
 4. The non-transitory computer readable medium of claim 3 wherein said displayable image computer readable instructions comprise computer readable instructions to cause said electronic processor to access and process at least one image block within said displayable image and reconstruct an image including a plurality of image blocks included in said displayable image.
 5. The non-transitory computer readable medium of claim 4 wherein said 3-D template data computer readable instructions comprise computer readable instructions to cause said electronic processor to read said 3-D template image by accessing and processing non-displayable Image Headers and information therein.
 6. The non-transitory computer readable medium of claim 5 wherein said coordinate computer readable instructions comprise computer readable instructions to cause said electronic processor to read said 3-D template image data and location by accessing and processing said non-displayable Image Headers and the information included therein, find a pre-determined number of 3-D Template point(s) closest to the displayable image pixel for which a coordinate is requested, and interpolate said predetermined number of 3-D Template point(s) to compute a displayable image coordinate with latitude, longitude, and elevation, said coordinate instructions causing said electronic processor to return the computed displayable image coordinate.
 7. The non-transitory computer readable medium of claim 6 wherein said coordinate computer readable instructions further comprise computer readable instructions to cause said electronic processor to calculate and output an estimated accuracy of said computed displayable image coordinate. 